package api

import (
	"fmt"
	_ "strconv"
	"unsafe"
)

func init() {
	fmt.Println("api模块初始化……")
}

func Api() {
	fmt.Println("陈文小超，欢迎你开始今天的golang语言学习……")
}

// BaseTypeTrans 基本数据类型转换
func BaseTypeTrans() {
	// 必须显示转换即强势转换
	var i int32 = 100
	var n float32 = float32(i)
	var m int8 = int8(i)
	var l int64 = int64(i)

	fmt.Printf("i=%v,n=%v,m=%v,l=%v\n", i, n, m, l)
	fmt.Printf("i=%T,n=%T,m=%T,l=%T", i, n, m, l)
}

// BaseTypeModule 基本数据类型默认值
func BaseTypeModule() {
	// 整型默认值 0
	// 浮点默认值 0
	// bool默认值 false
	// 字符串默认值 ""
}

// StringModule 字符串类型
func StringModule() {
	str1 := "abc\nabc"
	fmt.Println(str1)
	str2 := `abc\nabc`
	fmt.Println(str2)
}

// BoolModule 布尔类型
func BoolModule() {
	var b bool = false
	fmt.Printf("b的值是：%v\n\n", b)
	fmt.Println("b占用的空间：", unsafe.Sizeof(b))
}
